#include<iostream>
#include<cstring>
#include<string>
using namespace std;
const int maxn = 10005;
int head[maxn],next[maxn];
string data[maxn];
int seed = 131,m = 10007,cnt;
int n;
string now;

int hash(string x){
	int Hash=0;
	int len=x.length()-1;
	for(int i=0;i<=len;i++){
		Hash = (Hash*seed+x[i]-'0')%m;
	}
	return Hash;
}

bool find(string h){
	int sum=hash(h);
	int u=head[sum];
	while(u){
		if(data[u]==h)
			return true;
		u=next[u];
	}
	return false;
}

void add(string h){
	int sum=hash(h);
	int u=head[sum];
	while(u){
		if(data[u]==h)
			return;
		u=next[u];
	}
	cnt++;
	data[cnt]=h;
	next[cnt]=head[sum];
	head[sum]=cnt;
	return;
}

int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>now;
		add(now);
	}
	cout<<cnt<<endl;
	return 0;
}
